perm filename LC0.BB[206,LSP]1 blob sn#127499 filedate 1974-10-25 generic text, type T, neo UTF8
.BEGIN NOFILL
.VARIABLE CHW
.CHW ← CHARW
.TURN OFF "βα#\←∞↑↓∪"
.TURN ON "∂{%"
.TURN ON "/" FOR "α"
.AT "∂∂(" CH ")" ⊂ CHARW←CH}∂(2){CHARW←CHW ⊃


∂∂(48)%3compl%2 %3file%2 %2(%5FEXPR%2) ← 
∂∂(80)%4prog%2 %2[%3z%2]
∂∂(153)%3eval%2 %5OUTPUT%2 %2. %2[%2 %2`%5DSK:%2' %2 %2. %2<%4a %3file%2 %2. %5LAP%2>%2]
∂∂(153)%3eval%2 %5INPUT%2 %2. %2[%2 %2`%5DSK:%2' %2 %2. %3file%2]
∂∂(153)%3inc%2[%5T%2, %5NIL%2]
∂∂(153)%3outc%2[%5T%2, %5NIL%2]
∂∂(91)%3loop%2 %3z%2 %2← %3errset%2 %3read%2[]
∂∂(153)%4if%2 %4at %3z%2 %4then%2 %3go%2 %3done%2 %4else if%2 %5T%2 %4then%2 %5NIL
∂∂(153)%3z%2 %2← %4a %3z
∂∂(153)%4if%2 %4a %3z%2 %4eq %5DE%2 %4then%2 
∂∂(185)%2[%4prog%2 %2[%3prog%2]
∂∂(267)%3prog%2 %2← %3comp%2[%4ad %3z%2, %4add %3z%2, %4addd %3z%2]
∂∂(267)%3mapc%2[%3print%2, %3prog%2]
∂∂(267)%3outc%2[%5NIL%2, %5NIL%2]
∂∂(267)%3print%2 %2<%4ad %3z%2, %3length%2 %3prog%2>
∂∂(267)%3outc%2[%5T%2, %5NIL%2]%2]
∂∂(169)%4else%2 %3print%2 %3z
∂∂(153)%3go%2 %3loop
∂∂(85)%3done%2 %3outc%2[%5NIL%2, %5T%2]
∂∂(153)%3inc%2[%5NIL%2, %5T%2]
∂∂(153)%3return%2 %5ENDCOMP



∂∂(48)%3comp%2[%3fn%2, %3vars%2, %3exp%2]%2 %2← 
∂∂(80)%2/{%3length%2 %3vars%2}%2[λ%3n%2. 
∂∂(112)%2<%2<%5LAP%2, %3fn%2, %5SUBR%2>%2>
∂∂(112)%2* %3mkpush%2[%3n%2, %51%2]
∂∂(112)%2* %3compexp%2[%3exp%2, %2-%3n%2, %3prup%2[%3vars%2, %51%2]%2]
∂∂(112)%2* %2<%2<%5SUB%2, %5P%2, %2<%5C%2, %3n%2, %50%2, %3n%2, %50%2>%2>%2>
∂∂(112)%2* %2(%2(%5POPJ%2 %5P%2)%2 %5NIL%2)%2]



∂∂(48)%3prup%2[%3vars%2, %3n%2]%2 %2← %4if%2 %4n %3vars%2 %4then%2 %5NIL%2 %4else%2 %2[%4a %3vars%2 %2. %3n%2]%2 %2. %3prup%2[%4d %3vars%2, %3n%2 %2+ %51%2]



∂∂(48)%3mkpush%2[%3n%2, %3m%2]%2 %2← %4if%2 %3n%2 %2< %3m%2 %4then%2 %5NIL%2 %4else%2 %2<%5PUSH%2, %5P%2, %3m%2>%2 %2. %3mkpush%2[%3n%2, %3m%2 %2+ %51%2]



∂∂(48)%3compexp%2[%3exp%2, %3m%2, %3vpr%2]%2 %2← 
∂∂(80)%4if%2 %4n %3exp%2 %4then%2 %2(%2(%5MOVEI%2 %51%2 %50%2)%2)
∂∂(80)%4else if%2 %3exp%2 %4eq %5T%2 %4then%2 %2(%2(%5MOVEI%2 %51%2 %2(%5QUOTE%2 %5T%2)%2)%2)
∂∂(80)%4else if%2 %4at %3exp%2 %4then%2 %2<%2<%5MOVE%2, %51%2, %3m%2 %2+ %4d %3assoc%2[%3exp%2, %3vpr%2]%2, %5P%2>%2>
∂∂(80)%4else if%2 %4a %3exp%2 %4eq %5AND%2 %2∨ %4a %3exp%2 %4eq %5OR%2 %2∨ %4a %3exp%2 %4eq %5NOT%2 %4then%2 
∂∂(112)%2/{%3gensym%2[]%2, %3gensym%2[]%2}%2[λ%3l1%2, %3l2%2. 
∂∂(144)%3combool%2[%3exp%2, %3m%2, %3l1%2, %5NIL%2, %3vpr%2]
∂∂(144)%2* %2<%2(%5MOVEI%2 %51%2 %2(%5QUOTE%2 %5T%2)%2)%2, %2<%5JRST%2, %50%2, %3l2%2>%2, %3l1%2, %2(%5MOVEI%2 %51%2 %50%2)%2, %3l2%2>%2]
∂∂(80)%4else if%2 %4a %3exp%2 %4eq %5COND%2 %4then%2 %3comcond%2[%4d %3exp%2, %3m%2, %3gensym%2[]%2, %3vpr%2]
∂∂(80)%4else if%2 %4a %3exp%2 %4eq %5QUOTE%2 %4then%2 %2<%2<%5MOVEI%2, %51%2, %3exp%2>%2>
∂∂(80)%4else if%2 %4at %4a %3exp%2 %4then%2 
∂∂(112)%2/{%3length%2 %4d %3exp%2}%2[λ%3n%2. 
∂∂(144)%3complis%2[%4d %3exp%2, %3m%2, %3vpr%2]
∂∂(144)%2* %3loadac%2[%51%2 %2- %3n%2, %51%2]
∂∂(144)%2* %2<%2<%5SUB%2, %5P%2, %2<%5C%2, %3n%2, %50%2, %3n%2, %50%2>%2>%2>
∂∂(144)%2* %2<%2<%5CALL%2, %3n%2, %2<%5E%2, %4a %3exp%2>%2, %5S%2>%2>%2]
∂∂(80)%4else if%2 %4aa %3exp%2 %4eq %5LAMBDA%2 %4then%2 
∂∂(112)%2/{%3length%2 %4d %3exp%2}%2[λ%3n%2. 
∂∂(144)%3complis%2[%4d %3exp%2, %3m%2, %3vpr%2]
∂∂(144)%2* %3compexp%2[%4adda %3exp%2, %3m%2 %2- %3n%2, %3prup%2[%4ada %3exp%2, %51%2 %2- %3m%2]%2 %2* %3vpr%2]
∂∂(144)%2* %2<%2<%5SUB%2, %5P%2, %2<%5C%2, %3n%2, %50%2, %3n%2, %50%2>%2>%2>%2]
∂∂(80)%4else if%2 %5T%2 %4then%2 %5NIL



∂∂(48)%3complis%2[%3u%2, %3m%2, %3vpr%2]%2 %2← 
∂∂(80)%4if%2 %4n %3u%2 %4then%2 %5NIL%2 %4else%2 %3compexp%2[%4a %3u%2, %3m%2, %3vpr%2]%2 %2* %2(%2(%5PUSH%2 %5P%2 %51%2)%2)%2 %2* %3complis%2[%4d %3u%2, %3m%2 %2- %51%2, %3vpr%2]



∂∂(48)%3loadac%2[%3n%2, %3k%2]%2 %2← %4if%2 %3n%2 %2> %50%2 %4then%2 %5NIL%2 %4else%2 %2<%5MOVE%2, %3k%2, %3n%2, %5P%2>%2 %2. %3loadac%2[%3n%2 %2+ %51%2, %3k%2 %2+ %51%2]



∂∂(48)%3comcond%2[%3u%2, %3m%2, %3l%2, %3vpr%2]%2 %2← 
∂∂(80)%4if%2 %4n %3u%2 %4then%2 %2<%3l%2>
∂∂(80)%4else%2 %2/{%3gensym%2[]%2}%2[λ%3l1%2. 
∂∂(112)%3combool%2[%4aa %3u%2, %3m%2, %3l1%2, %5NIL%2, %3vpr%2]
∂∂(112)%2* %3compexp%2[%4ada %3u%2, %3m%2, %3vpr%2]
∂∂(112)%2* %2<%2<%5JRST%2, %3l%2>%2, %3l1%2>
∂∂(112)%2* %3comcond%2[%4d %3u%2, %3m%2, %3l%2, %3vpr%2]%2]



∂∂(48)%3combool%2[%3p%2, %3m%2, %3l%2, %3flg%2, %3vpr%2]%2 %2← 
∂∂(80)%4if%2 %4at %3p%2 %4then%2 %2[%3compexp%2[%3p%2, %3m%2, %3vpr%2]%2 %2* %2<%2<%4if%2 %3flg%2 %4then%2 %5JUMPN%2 %4else%2 %5JUMPE%2, %51%2, %3l%2>%2>%2]
∂∂(80)%4else if%2 %4a %3p%2 %4eq %5AND%2 %4then%2 
∂∂(112)%2[%4if%2 %2¬%3flg%2 %4then%2 %3compandor%2[%4d %3p%2, %3m%2, %3l%2, %5NIL%2, %3vpr%2]
∂∂(121)%4else%2 %2/{%3gensym%2[]%2}%2[λ%3l1%2. %3compandor%2[%4d %3p%2, %3m%2, %3l1%2, %5NIL%2, %3vpr%2]%2 %2* %2<%2<%5JRST%2, %50%2, %3l%2>%2>%2 %2* %2<%3l1%2>%2]%2]
∂∂(80)%4else if%2 %4a %3p%2 %4eq %5OR%2 %4then%2 
∂∂(112)%2[%4if%2 %3flg%2 %4then%2 %3compandor%2[%4d %3p%2, %3m%2, %3l%2, %5T%2, %3vpr%2]
∂∂(121)%4else%2 %2/{%3gensym%2[]%2}%2[λ%3l1%2. %3compandor%2[%4d %3p%2, %3m%2, %3l1%2, %5T%2, %3vpr%2]%2 %2* %2<%2<%5JRST%2, %50%2, %3l%2>%2>%2 %2* %2<%3l1%2>%2]%2]
∂∂(80)%4else if%2 %4a %3p%2 %4eq %5NOT%2 %4then%2 %3combool%2[%4ad %3p%2, %3m%2, %3l%2, %2¬%3flg%2, %3vpr%2]
∂∂(80)%4else%2 %3compexp%2[%3p%2, %3m%2, %3vpr%2]%2 %2* %2<%2<%4if%2 %3flg%2 %4then%2 %5JUMPN%2 %4else%2 %5JUMPE%2, %51%2, %3l%2>%2>



∂∂(48)%3compandor%2[%3u%2, %3m%2, %3l%2, %3flg%2, %3vpr%2]%2 %2← 
∂∂(80)%4if%2 %4n %3u%2 %4then%2 %5NIL%2 %4else%2 %3combool%2[%4a %3u%2, %3m%2, %3l%2, %3flg%2, %3vpr%2]%2 %2* %3compandor%2[%4d %3u%2, %3m%2, %3l%2, %3flg%2, %3vpr%2]

.END